package br.uninove.jimage.to;

import java.io.Serializable;
import java.util.List;
import java.util.Set;

import javax.persistence.Basic;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.Table;

import weka.classifiers.Classifier;

/**
 * 
 * @author thalys
 */
@Entity
@Table(name = "CLASSIFICADOR")
public class ClassificadorTO implements Serializable {

	private static final long serialVersionUID = 1L;
	@Id
	@Basic(optional = false)
	@Column(name = "ID")
	@GeneratedValue(strategy = GenerationType.AUTO)
	private Long id;

	@Basic(optional = false)
	@Column(name = "TIPO_CLASSIFICADOR", nullable = false)
	private Classifier classificador;

	@Basic(optional = false)
	@Column(name = "NM_CLASSIFICADOR")
	private String nomeClassificador;

	@Basic(optional = false)
	@OneToMany(targetEntity = ImagemTO.class, cascade = CascadeType.ALL, mappedBy = "classificadorTO")
	public List<ImagemTO> imagens;

	public ClassificadorTO() {
		super();
	}

	public ClassificadorTO(Long id) {
		super();
		this.id = id;
	}

	public ClassificadorTO(Long id, Classifier classificador,
			String nomeClassificador, List<ImagemTO> imagens) {
		super();
		this.id = id;
		this.classificador = classificador;
		this.nomeClassificador = nomeClassificador;
		this.imagens = imagens;
	}

	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public Classifier getClassificador() {
		return classificador;
	}

	public void setClassificador(Classifier classificador) {
		this.classificador = classificador;
	}

	public String getNomeClassificador() {
		return nomeClassificador;
	}

	public void setNomeClassificador(String nomeClassificador) {
		this.nomeClassificador = nomeClassificador;
	}

	public List<ImagemTO> getImagens() {
		return imagens;
	}

	public void setImagens(List<ImagemTO> imagens) {
		this.imagens = imagens;
	}
}